package users;

/**
 * The interface for roles.
 * 
 * @author Aaron Chen
 * @version 3/19/2014
 */
public interface Role {

  /**
   * Returns the Conference ID that this role is associated with.
   * @return The Conference ID.
   */
  long getConferenceID();
  
  /**
   * Returns the User that this role belongs to.
   * @return The User that this role belongs to.
   */
  User getUser();
  
  /**
   * Returns the Role ID.
   * @return The Role ID.
   */
  int getRoleID();
  
  /**
   * Returns the ID: a specific role tied to a particular user, conference, and
   * purpose.
   * @return The ID.
   */
  long getID();
  
  /**
   * Sets the ID for this particular role.
   * @param the_id The ID.
   */
  void setID(final long the_id);
  
  /**
   * Returns the Role name.
   * @return The Role name.
   */
  String getRoleName();
  
}
